package context

import (
	"github.com/gookit/validate"
	"ksd-social-api/commons/lib"
)

/**
 * @desc 用于下载列表查询分页
 * @author feige
 * @date 2023-11-14
 * @version 1.0
 */
type CommentDelContext struct {
	Id         lib.BigInt `validate:"required" json:"id"`   //评论Id
	Opid       lib.BigInt `validate:"required" json:"opid"` //下载Id
	ParentId   lib.BigInt `json:"parentId"`                 //回复的父Id
	Uuid       string     `json:"uuid"`                     //用户UUId
	UserId     uint64     `json:"userId"`                   //用户Id
	SystemId   uint64     `json:"systemId"`                 // 系统编号
	SystemName string     `json:"systemName"`               // 系统名称
}

func (f CommentDelContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f CommentDelContext) Translates() map[string]string {
	return validate.MS{
		"Id":   "评论Id",
		"Opid": "下载Id",
	}
}

/**
 * @desc 用于下载列表查询分页
 * @author feige
 * @date 2023-11-14
 * @version 1.0
 */
type NoteCommentContext struct {
	Id         uint64     `json:"id"`                          //回复用户
	UserId     uint64     `json:"userId"`                      //回复用户
	Username   string     `json:"username"`                    //用户名
	Nickname   string     `json:"nickname"`                    //昵称
	Avatar     string     `json:"avatar"`                      //回复人头像
	Title      string     `json:"title"`                       //下载标题
	Uuid       string     `json:"uuid"`                        //用户UUId
	SystemId   uint64     `json:"systemId"`                    // 系统编号
	SystemName string     `json:"systemName"`                  // 系统名称
	Content    string     `validate:"required" json:"content"` //回复内容
	Opid       lib.BigInt `validate:"required" json:"opid"`    //下载Id
	ParentId   lib.BigInt `json:"parentId"`                    //回复的根父Id
	Pid        lib.BigInt `json:"pid"`                         //父Id
	Score      int        `json:"score"`
	VipType    int        `json:"vipType"` // vip身份
}

func (f NoteCommentContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f NoteCommentContext) Translates() map[string]string {
	return validate.MS{
		"Content": "评论内容",
		"Opid":    "下载Id",
	}
}

/**
 * @desc 用于下载列表查询分页
 * @author feige
 * @date 2023-11-14
 * @version 1.0
 */
type CommentPageContext struct {
	PageNo     int64      `json:"pageNo"`                   // 第几页
	PageSize   int64      `json:"pageSize"`                 // 每页显示多少条
	SystemId   uint64     `json:"systemId"`                 // 系统编号
	SystemName string     `json:"systemName"`               // 系统名称`
	Opid       lib.BigInt `validate:"required" json:"opid"` // 搜索的下载Id
}

/**
 * @desc 用于下载列表查询分页
 * @author feige
 * @date 2023-11-14
 * @version 1.0
 */
type CommentReplyPageContext struct {
	PageNo     int64      `json:"pageNo"`                       // 第几页
	PageSize   int64      `json:"pageSize"`                     // 每页显示多少条
	SystemId   uint64     `json:"systemId"`                     // 系统编号
	SystemName string     `json:"systemName"`                   // 系统名称
	Opid       lib.BigInt `validate:"required" json:"opid"`     // 搜索的下载Id
	ParentId   lib.BigInt `validate:"required" json:"parentId"` // 搜索的下载Id
}

func (f CommentReplyPageContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f CommentReplyPageContext) Translates() map[string]string {
	return validate.MS{
		"Opid":     "下载Id",
		"ParentId": "父Id",
	}
}

func (f CommentPageContext) Messages() map[string]string {
	return validate.MS{
		"required": "{field}不能为空",
	}
}

// Translates 你可以自定义字段翻译
func (f CommentPageContext) Translates() map[string]string {
	return validate.MS{
		"Opid": "下载Id",
	}
}
